Numerically controlled (NC) milling involves various techniques for removing material (“milling” or “cutting”) from a workpiece to create an object of a particular shape and with defined dimensions. Because of the stresses imposed on parts (e.g., motors, gears, bits/drills, etc.) of a milling machine (also known as a machine tool) during the milling process, various techniques exist to generate toolpaths. A toolpath is a programmed path that a tool takes when milling a workpiece. A toolpath can comprise one or more “cuts.” By varying toolpaths, stresses on parts of milling tools can be reduced.
The parallel-offset algorithm is a commonly employed milling toolpath algorithm. Various Computer Aided Manufacturing (CAM) systems that collectively generate many toolpaths may use different names for this algorithm, as well as different mathematics, but the fundamental algorithm is common. When a user uses a CAM system that employs this algorithm, the user can define an area to be machined (e.g., milled) by selecting geometry from the graphics display of a computer via a user interface provided by the CAM system. The user may also define other machining parameters, such as the diameter of the cutting tool, the spindle speed, the feedrate, the axial depth of cut (ADOC), and the radial depth of cut (RDOC). The algorithm can offset this geometry (inwardly, in the case of a pocket) by the radius of the cutting tool in use plus any stock (e.g., material that is cut or milled) to be left for finish milling or other purpose. This offset is further and repeatedly offset by the RDOC of the toolpath (which can be less than, equal to, or greater than the radius of the cutting tool) until the offsets collapse on themselves and no further offsets are needed. Any self-intersections of an offset are trimmed to produce one or more contiguous loops per offset, as illustrated in FIG. 1. A workpiece 100 is comprised of material 101. The material has a boundary geometry 102 that remains after a cutting tool traverses one or more paths or cuts to remove material. FIG. 1 illustrates several cuts of a toolpath, such as cut 104. Each cut indicates a path (or pass) that a cutting tool traverses in the toolpath. For example, the center line (or “offset”) of each cut is illustrated.
The offsets generated in these steps form the path that the center of the cutting tool will follow when milling the workpiece. Typically, the innermost (smallest) offset in a local subarea of the toolpath is traversed first, followed by the next innermost, etc., until all of the offsets have been traversed. This can require “connecting moves” (or simply, “connections”) to be inserted between each pair of adjacent offsets. The location and shape of these connections can vary depending on the CAM system in use, but are generally straight-line connections between points somewhere along and perpendicular to parallel segments of the adjacent offsets, and sometimes between local vertices of the adjacent offsets, as illustrated in FIG. 2. The workpiece is illustrated with offset connectors 202, 204, and 206.
This basic algorithm has several advantages: the tool can generally be kept moving in a single direction: the overall toolpath length is relatively short; repositioning moves within the toolpath are usually not excessive; and the toolpath is relatively easy to calculate. The simplicity of calculation is arguably the main reason that this algorithm is so commonly used by producers of CAM systems.
The parallel-offset algorithm is generally unable to maintain a consistent load on the cutting tool. The offsetting process ensures that a user-specified (e.g., programmed) RDOC parameter is not in effect throughout the toolpath. Because the actual RDOC varies, the material removal rate (MRR) also varies, and thereby causes the machining load to vary. The offsetting method generally maintains the actual, instantaneous RDOC (e.g., at any given time) at the programmed RDOC only in some areas of the toolpath. In a typical 2-axis toolpath, the ADOC, the spindle speed, and the feedrate remain substantially constant at the user-specified (programmed) values over a significant portion of the toolpath. In at least four disparate portions of a toolpath, however, the actual RDOC does not remain at the programmed value. Since the feedrate, the ADOC, and the RDOC combine to define the MRR of a toolpath, the varying RDOC dictates that the MRR does not remain constant.
When the tool first enters the material at the beginning of a toolpath, or when it enters a new area to be machined in the same toolpath, a parallel-offset toolpath typically fully engages the cutting tool. If the area to be machined is closed (e.g., if the shape necessitates that the tool enters the material from the top) a plunging action of some sort is made. This can be done by plunging the tool into a pre-drilled hole; plunging the tool along its axis (typically the Z-axis) directly into the material; ramping the tool into the material (e.g., plunging in the Z-axis while simultaneously feeding in the X- and/or Y-axis at some descending angle); or by helically interpolating into the material (e.g., by moving in a circular motion in the X- and Y-axes while simultaneously feeding down in the Z-axis). In all but the first of these cases, the tool is generally fully engaged in the material during the plunge move regardless of the programmed RDOC. In all cases, at least the first move after the tool reaches the programmed ADOC fully engages the tool with an actual RDOC of 100% of the diameter of the cutting tool regardless of the programmed RDOC, as illustrated in FIG. 3, in which the programmed RDOC is 50% of the diameter of the cutting tool. The workpiece is illustrated with a wall (or boundary) 302, material to be removed 304, toolpath segment 306, and tool footprint/circumference 308. If the area to be machined is open (e.g., if the tool can position to the ADOC outside of the material before feeding into the material from the side) the actual RDOC will be 100% in at least the first move into the material, regardless of the programmed RDOC, as illustrated in FIG. 4. A cutting tool having footprint/circumference 404 has traversed a toolpath segment 402 and will continue cutting via toolpath segments 406 and 408.
When the tool completes a traversal of an offset, it connects to the next offset. The common connection method for a parallel-offset toolpath is a straight line between the offsets. This generally causes the actual RDOC to increase over the programmed RDOC value. In most cases, such as the one illustrated in FIG. 5, this causes the machine to stop feeding in one direction and begin feeding in another, and thereby requires the machine to come to a complete stop. The deceleration time in stopping the feed in one axis and the acceleration time in beginning the feed in the other axis effectively reduces the programmed feedrate during that process, adding time to the machining cycle. Further, the deceleration occurs when the actual RDOC is decreasing at the completion of the traversal of the offset. This decrease in the RDOC begins when the leading edge of the cutting tool reaches the vertex of the dynamically evolving material boundary that was established at the beginning of the traversal of the offset. To maintain the MRR established by the machining parameters, the feedrate should be increasing as the actual RDOC is decreasing. In contrast, this toolpath algorithm requires the machine to decrease the feedrate in order to negotiate the sharp corner, which further adds to machining time. Further still, the acceleration in the new direction occurs as the actual RDOC is increasing up to and beyond the programmed RDOC. To maintain the established MRR, the feedrate should actually be decreasing once the programmed RDOC is exceeded. This machining dynamic, which is forced by the parallel-offset algorithm, places increased machining loads on the machine tool and the cutting tool (e.g., bit), and is detrimental to both.
As a cutting tool moves through material of a workpiece, the material boundary evolves. After an offset has been fully traversed, the workpiece has a new material boundary. This boundary, which is equivalent to offsetting the just-traversed offset by the radius of the cutting tool, and rounding any sharp corners with a radius equal to the tool radius (see FIG. 6), is in place when the next offset is traversed. During the traversal of this next offset, any time the leading edge of the cutting tool reaches the tangency point of one of the corner-rounds of the in-process material boundary, the actual RDOC begins to increase. Because feedrates and spindle speeds cannot dynamically update along with the dynamically increasing radial depth of cut, the MRR increases in these very common situations. The amount of this increased MRR and its duration depend on the programmed RDOC and the shape of the area being machined. The amount of increase and its duration are greater when the entry/exit angle of a directional change is more acute (see FIG. 7) and when the tool enters a new area to be machined with the same toolpath. For example, this can occur when the tool begins machining an innermost offset in a different, local subarea of the overall area being machined.
Yet another situation that causes an increase in the MRR in the parallel-offset—or any other—toolpath algorithm is when the tool transitions from milling in a linear fashion to milling in a circular fashion. Assuming a climb milling direction (e.g., tool to the left of the material with a clockwise spindle rotation), the actual RDOC increases whenever the tool traverses a counter-clockwise turn, even if the spacing between cuts remains constant. FIG. 8 illustrates that the actual RDOC when cutting in a straight line is equal to the programmed RDOC (e.g., 50%). FIG. 9 illustrates that the actual RDOC when cutting a concave arc (e.g., 62%) is greater than the programmed RDOC (e.g., 50%). This increase is a function of the diameter of the cutting tool, the programmed RDOC, and the toolpath radius being traversed.
There are many other toolpath algorithms offered in CAM systems. Many are designed to mitigate the negative characteristics of the basic parallel-offset toolpath algorithm. However, these algorithms tend to be case-specific, and are therefore not generalized solutions. Further, many of these algorithms are designed to address a specific negative characteristic of the basic parallel-offset algorithm by focusing on a symptom of the problem rather than treating the problem as a whole. In taking this approach, these algorithms introduce new problems that do not exist in the basic algorithm. The result is that these new algorithms do not significantly increase milling speed or improve machining dynamics. In many cases, they achieve the opposite effect.